第九章测试题 20210110

做题不确定

第一次

1

在散列存储中,装填因子 a 的值越大,则 ().(3.8 分)

2

在对查找表的查找过程中,若被查找的数据元素不存在,则把该数据元素插到集合中,这种方式主要适合于()。(3.8 分)

3

已知一个有序表为(11,22,33,44,55,66,77,88,99),则折半查找 55 需要比较()次。(3.8 分)

4

设一组初始记录关键字序列为 (13,18,24,35,47,50,62,83,90,115,134),则利用二分法查找关键字 90 需要比较的关键字个数为()。(3.8 分)

5

根据一组记录(56,42,50,64,48)依次插入结点生成一棵 AVL 树,当插入到值为()的结点时需要进行旋转调整。(3.8 分)

6

判定在有序表 R[0..19] 上进行二分检索,则检索成功的平均检索次数为()。(3.8 分)

8

若根据查找表建立长度为 m 的散列表,采用线性探测法处理冲突,假定对一个元素第一次计算的散列地址为 d,若一直发生冲突,那么第 3 次计算其散列地址为()。(3.8 分)

9

判定在有序表 R[0..19] 上进行二分检索,则比较 2 次检索成功的结点数为()。(3.8 分)

13

设二叉排序树的高度为 h,总结点数为 n,则在该树中查找关键字 key 最多需要比较()次。

(3.8 分)

D。看不懂 A 是啥

14

在顺序储存的线性表 R[0..29] 上进行进行分块检索(设分为 5 块)的平均检索长度为(),假设索引部分用顺序查找。

(3.8 分)

15

散列法存储的基本思想是由 () 决定数据的存储地址。(3.8 分)

16

假定对长度 n=50 的有序表进行折半查找,则对应的判定树高度为()(3.8 分)

18

折半查找有序表(4,6,10,12,20,30,50,70,88,100)。若查找表中元素 58,则它将依次与表中()比较大小,查找结果是失败。(3.8 分)

20

设一组初始记录关键字序列为 (20,12,42,31,18,14,28),则根据这些记录关键字构造的二叉排序树的平均查找长度是()。(3.8 分)

22

折半搜索与二叉搜索树的时间性能

(3.8 分)

D,不确定

第二次

11

假定对线性表 R[0..59] 进行分块检索。共分 10 块,每块长度等于 6。若假定检索索引表和块均用顺序检索的方法,则检索每个元素的平均检索长度为 ()。(3.8 分)

14

当装填因子一定时,采用链地址法解决冲突比采用开放定址法处理冲突的平均检索长度要()。(3.8 分)

15

在数据的存放无规律而言的线性表中进行检索的最佳方法是()。(5.0 分)

19

二分法查找的判定树()。(3.8 分)

第三次

1

下述几种排序方法中,要求内存量最大的是()。(3.8 分)

3

顺序查找法适合于存储结构为()的线性表。(3.8 分)

10

当装填因子一定时,采用链地址法解决冲突比采用开放定址法处理冲突的平均检索长度要()。(3.8 分)

12

如果要求一个线性表既能较快的查找,又能适应动态变化的要求,可以采用()查找方法。(3.8 分)

16

对有 n 个记录的表按记录键值有序的顺序建立二叉树,在这种情况下,其平均查找长度的量级为()

(3.8 分)

D。好奇怪的问题

17

在散列查找中,平均查找长度主要与()有关。(3.8 分)

第四次

1

对线性表(18,25,63,50,42,32,90)进行散列存储时,若选用 H=key%9 作为哈希函数,散列地址为 5 的元素有 () 个。(3.8 分)

2

在分块查找方法中,查找的顺序是()(3.8 分)

8

假定检索有序表 R[0..11] 中每个元素的概率相等。则进行顺序检索的平均检索长度为 ()。(3.8 分)

16

有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当折半查找值为 82 的结点时,()次比较后查找成功。(3.8 分)

26

设一个顺序有序表 A[1:14] 中有 14 个元素,则采用二分法查找元素 A[4] 的过程中比较元素的顺序为 ()。(3.8 分)

第五次

1

设有 n 个关键字具有相同的 Hash 函数值,则用线性探测法把这 n 个关键字映射到 HASH 表中需要做()次线性探测。

(3.8 分)

C。关键字直接插入要做 1 次探测。所以类推 n 个关键词要做 0+1+2+...+(n-1)+n=n*(n+1)/2 答案是 C

我的错题

第一次

6

判定在有序表 R[0..19] 上进行二分检索,则检索成功的平均检索次数为()。(3.8 分)

0.0

正确:C

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

1

2 2

3 3 3 3

4 4 4 4 4 4 4 4

5 5 5 5 5

总共比较次数 bai 为:1 +2*2 + 4*3 + 8*4+ 5*5 = 74

平均长度是 74 /20 =3.7

8

若根据查找表建立长度为 m 的散列表,采用线性探测法处理冲突,假定对一个元素第一次计算的散列地址为 d,若一直发生冲突,那么第 3 次计算其散列地址为()。(3.8 分)

0.0

正确:我不知道

感觉是错题

9

判定在有序表 R[0..19] 上进行二分检索,则比较 2 次检索成功的结点数为()。(3.8 分)

0.0

正确:A

只看第二次。

13

设二叉排序树的高度为 h,总结点数为 n,则在该树中查找关键字 key 最多需要比较()次。

(3.8 分)

0.0

我的答案:

正确:B

变成单链了,太惨了。百度查答案,她说相信自己哈哈哈哈

20

设一组初始记录关键字序列为 (20,12,42,31,18,14,28),则根据这些记录关键字构造的二叉排序树的平均查找长度是()。(3.8 分)

0.0

正确:D

计算错误。1*1+2*2+3*2+4*2=19

22

折半搜索与二叉搜索树的时间性能

(3.8 分)

0.0

我的答案:D

正确答案:A

二叉搜索树就是二叉排序树

23

对于长度为 n 的线性表,若采用分块查找(假定总块数和每块长度均接近根号 n),则时间复杂度为()。

(3.8 分)

0.0

我的答案:A

正确:B

当时没时间做了,分块查找,O(根 n/2+ 根 n/2)

24

判定在有序表 R[0..19] 上进行二分检索,则比较 3 次检索成功的结点数为()。

(3.8 分)

0.0

正确:D

当时没时间做了,仅仅是第三次

25

对于顺序存储的有序表(5,12,20,26,37,42,46,50,64),若采用折半查找,则查找元素 26 的查找长度为()。(3.8 分)

0.0

正确:C

当时没时间做了,注意是(low+high)/2 下取整

26

已知一个有序表为(13,18,24,35,47,50,62,83,90,115,134),当二分法查找值为 90 的元素时,检索成功的比较次数为 ()。(3.8 分)

0.0

正确:D

当时没时间做了。

第二次

15

在数据的存放无规律而言的线性表中进行检索的最佳方法是()。(5.0 分)

0.0

正确答案:B

散列不算没规律!索引查找就是分块查找

第三次

16

对有 n 个记录的表按记录键值有序的顺序建立二叉树,在这种情况下,其平均查找长度的量级为()

(3.8 分)

0.0

我的答案:D

正确答案:A

不是建立二叉排序树,而是有序的建立二叉树,而且。。二叉排序树也不一定是 log

第四次

2

在分块查找方法中,查找的顺序是()(3.8 分)

0.0

正确答案:C

先找索引表,定位到那个快,之后在块内查找

第五次

25

在二叉排序树中插入一个结点的时间复杂度为()。

(3.8 分)

0.0

答案:A

二叉排序树插入节点的时间复杂度在 logn 到 n 之间

真的错题

第一次

8

若根据查找表建立长度为 m 的散列表,采用线性探测法处理冲突,假定对一个元素第一次计算的散列地址为 d,若一直发生冲突,那么第 3 次计算其散列地址为()。(3.8 分)

0.0

正确:A

感觉是错题

第五次

25

在二叉排序树中插入一个结点的时间复杂度为()。

(3.8 分)

0.0

答案:A

二叉排序树插入节点的时间复杂度在 logn 到 n 之间